<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "https://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="zh-CN" />
<!--[if lt IE 9]><style type="text/css">@font-face { font-family: "JinBuGuoWebMono"; src: url("/d/mono.eot"); }</style><![endif]-->
<style media="all" type="text/css">
@font-face { font-family: "JinBuGuoWebMono"; src: url("http://www.jinbuguo.com/d/mono.ttf") format("truetype"); }
* { font-family: "JinBuGuoWebMono", "Ubuntu Mono", "Consolas", "Menlo", monospace; }
body { margin:10px; }
h1,h2 { text-align:center; background:#ddd; }
h2 { margin: 10px 5%; }
h2#auth_name {  background:#fff; }
dt { margin-top: 0.5em; }
</style>
<title>sfdisk 中文手册 [金步国]</title>
<script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?d286c55b63a3c54a1e43d10d4c203e75"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script>
</head>

<body>
<h1>sfdisk 中文手册</h1><h2 id="auth_name">译者：<strong><a href="../index.html">金步国</a></strong></h2>
<hr />
<h3>版权声明</h3>
<p>本文译者是一位开源理念的坚定支持者，所以本文虽然不是软件，但是遵照开源的精神发布。</p>
<ul>
<li>无担保：本文译者不保证译文内容准确无误，亦不承担任何由于使用此文档所导致的损失。</li>
<li>自由使用：任何人都可以自由的<u>阅读/链接/打印</u>此文档，无需任何附加条件。</li>
<li>名誉权：任何人都可以自由的<u>转载/引用/再创作</u>此文档，但必须保留译者署名并注明出处。</li>
</ul>
<h3>其他作品</h3>
<p>本文译者十分愿意与他人分享劳动成果，如果你对我的其他翻译作品或者技术文章有兴趣，可以在如下位置查看现有的作品集：</p>
<ul>
<li><a href="../index.html">金步国作品集</a> [ <a href="../index.html">http://www.jinbuguo.com/</a> ]</li>
</ul>
<h3>联系方式</h3>
<p>由于译者水平有限，因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好)，请来信指出，任何提高译文质量的建议我都将虚心接纳。</p>
<ul>
<li>Email(QQ)：70171448在QQ邮箱</li>
</ul>
<hr />



<pre>
SFDISK(8)                    System Administration                   SFDISK(8)

名称
       sfdisk - 分区表操作工具

语法
       sfdisk [options] command

描述
       sfdisk 是一个专用于脚本环境的分区表操作工具。

       从 2.26 版本开始，sfdisk 可以正确处理 MBR 与 GPT 格式的分区表，但是不再提供 CHS(Cylinder-Head-Sector) 功能。

       从 2.26 版本开始，sfdisk 可以自动对齐分区。

命令(COMMANDS)

    [-N partition-number] device
        按照从标准输入读取的分区表，在指定的块设备上创建分区表。
        这是 sfdisk 的默认命令。具体的输入格式见下文。
        如果标准输入是一个终端，那么将开启一个交互式会话。

        可以使用 -N 参数表示仅修改指定编号的分区(其他编号的分区保持不变)。
        注意，可以在 -N 后面指定一个当前块设备上并不存在的分区编号，
        这常用于添加一个新分区，参见 --append 选项。

    -A, --activate device [partition-number...]
        打开指定分区的启动标记(仅可用于MBR分区表)。
        若未指定任何分区，则列出所有已开启此标记的分区。

    --delete device [partition-number...]
        删除指定/全部的分区。

    -d, --dump device
        按照 sfdisk 的输入格式导出指定块设备的现有分区表。参见下面的"分区表备份"小节。

    -J, --json device
        按照 JSON 格式导出指定块设备的现有分区表。注意，sfdisk 不能将此格式作为输入格式。

    -l, --list [device...]
        列出指定/全部块设备的分区表。

    -F, --list-free [device...]
        列出指定/全部块设备上尚未被分区的剩余空间。

    --part-attrs device partition-number [attributes]
        修改指定GPT分区的属性。如果未指定"attributes"参数，那么表示显示指定GPT分区的属性。
        "attributes"是一个逗号或空格分隔的属性/bit列表。
        可以使用的属性如下：RequiredPartition, NoBlockIOProtocol, LegacyBIOSBootable
        可以使用的bit如下：48～63
        例如"RequiredPartition,50,51"表示设置了3个属性位。

    --part-label device partition-number [label]
        修改指定GPT分区的名称(标签)。如果未指定"label"参数，那么表示显示指定GPT分区的名称(标签)。

    --part-type device partition-number [type]
        修改指定分区的类型。如果未指定"type"参数，那么表示显示指定分区的类型。
        对于MBR分区表来说，"type"是一个十六进制数；
        对于GPT分区表来说，"type"是一个 GUID 。

    --part-uuid device partition-number [uuid]
        修改指定GPT分区的 UUID 。如果未指定"uuid"参数，那么表示显示指定GPT分区的 UUID 。

    -r, --reorder device
        按照各分区的起始扇区，对现有分区进行重新编号。

    -s, --show-size [device...]
        列出指定/全部块设备的大小。

    -T, --list-types
        列出所有支持的分区类型。建议与 --label 选项一起使用(默认为"dos")。

    -V, --verify [device...]
        校验指定/全部块设备的分区表正确性。

选项(OPTIONS)

    -a, --append
        仅在现有的分区表上添加新分区，而不是创建一个全新的分区表。

    -f, --force
        禁用所有一致性检查。强制执行看上去明显的错误动作。

    -n, --no-act
        模拟操作(并不真正写入块设备)。

    --no-reread
        当被操作的块设备正在被使用的时候，不在操作完成后重新读取它的新分区表。

    --no-tell-kernel
        不通知内核分区表的变化。常与 --no-reread 选项一起使用，以修改正在使用中的块设备。
        注意，这种情况下不应该挂载被修改的分区。

    -o, --output list
        仅输出指定的字段。可以使用 --help 选项查看所有可用字段。

        对于GPT分区表来说可以使用的字段如下：
            Device Start End Sectors Size Type Type-UUID Attrs Name UUID

        对于MBR分区表来说可以使用的字段如下：
            Device Start End Sectors Cylinders Size Type Id Attrs Boot End-C/H/S Start-C/H/S

        注意，"+"前缀表示在默认字段上添加一个新字段。例如"+UUID"。

    -q, --quiet
        不显示所有多余的信息

    -X, --label {dos|gpt}
        指定分区表的类型。如果未明确指定此选项，那么表示使用块设备上的现有类型。
        如果现有块设备上不存在分区表，那么默认为 dos 类型(MBR)。

   -v, --version
        打印版本信息并立即退出

   -h, --help
        打印帮助信息并立即退出

输入格式
        sfdisk 的输入格式由可选的"头行"与必须存在的"分区行"两部分组成。
        "头行"与"分区行"之间必须使用一个空行分隔。
        一个典型的例子如下：

        label: gpt
        label-id: 77326B6F-4C53-47F2-B919-0A2FC12DB829
        device: /dev/sda
        unit: sectors
        first-lba: 2048
        last-lba: 41943006

        /dev/sda1 : start=   2048, size= 1046528, type=C12A7328-F81F-11D2-BA4B-00A0C93EC93B, uuid=697765CD-6A84-44BA-8507-2492614F9CE4, name="boot", attrs="RequiredPartiton NoBlockIOProtocol LegacyBIOSBootable GUID:60,62,63"
        /dev/sda2 : start=1048576, size= 1048576, type=933AC7E1-2EB4-4F13-B844-0E14E2AEF915, uuid=3442AB51-6E59-4DD1-96F3-B0592E6A0562, name="home"
        /dev/sda3 : start=2097152, size=39845855, type=4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709, uuid=8CBB6FEF-E1CB-431D-AFB5-E46BA2A24B1C, name="gentoo"

    头行
        头行用于指定分区表的全局信息。
        头行部分是可选的，但必须位于所有分区行之前。
        每一个头行都必须符合如下格式：
          name: value

        头行中所有可识别的字段名如下：
        unit 指定分区起点与大小时所使用的单元，仅可设为 sectors
        label 指定分区表的类型，可设为 dos 或 gpt 之一。
        label-id 指定磁盘的唯一标识符。
            对于MBR分区表来说，必须是一个类似"0x1a2b3c4d"这样的格式的16进制数。
            对于GPT分区表来说，必须是一个UUID值。

    分区行
        分区行用于指定每个分区的信息。
        分区行部分是必须存在的，且必须位于所有头行之后。
        每一个分区行都必须符合如下格式：
          [device :] name[=value], ...

        [device :] 部分是可选的，sfdisk 仅从该字段中提取分区编号。
        仅在你确实想要明确指定分区编号的时候才需要使用此字段，否则建议省略它。

        如果 name[=value] 中的 value 是字符串值的话，可以使用双引号界定。
        例如 name="This is partition name"

        可以识别的字段如下(若省略某字段，则表示使用那个字段的默认值/不做修改)：

        start=number
            指定分区的起点(会被自动对齐)。
            可以设为一个无后缀的纯整数，表示扇区编号；
            也可以使用带有 KiB, MiB, GiB, TiB, PiB, EiB, ZiB 后缀的整数，
            表示距离磁盘起点(LBA0)的偏移量(字节)。
            默认值是当前块设备上的第一个可用扇区。

        size=number
            指定分区的大小(会被自动对齐)。
            可以设为一个无后缀的纯整数，表示扇区数量；
            也可以使用带有 KiB, MiB, GiB, TiB, PiB, EiB, ZiB 后缀的整数，
            表示分区的绝对大小(字节)。
            默认值是该分区所能获得的最大空间。

        bootable
            打开MBR分区的启动标记。
            默认值为"未开启"。

        attrs=string
            设置GPT分区的属性。
            详见 --part-attrs 命令。
            默认值为空。

        uuid=string
            设置GPT分区的 UUID 。
            默认值为自动生成的随机值。

        name=string
            设置GPT分区的名称。
            默认值为空。

        type=code
            设置分区类型。
            对于MBR分区来说，必须设为一个十六进制数(无"0x"前缀)。
            对于GPT分区来说，必须设为一个 GUID 值。
            默认值是"Linux数据分区"：对MBR来说是"83"，
            对GPT来说是"0FC63DAF-8483-4772-8E79-3D69D8477DE4"。

分区表备份

    可以使用 --dump 命令将现有的分区表备份到一个文本文件中：

        sfdisk --dump /dev/sda > sda.dump

    然后可以使用下面的命令，从备份文件中恢复分区表：

        sfdisk /dev/sda < sda.dump

注意

    从 2.26 版本开始，sfdisk 不再提供强制内核重新读取分区表的 --re-read 选项，
    应该使用 blockdev --rereadpt 命令实现这个功能。

参见
       fdisk(8), cfdisk(8), parted(8), partprobe(8), partx(8)


util-linux                        June 2015                        SFDISK(8)

</pre>


<hr />


</body></html>